/**
 * 优惠码状态查询
 */
var queryCouponStatusCodeSearch = function() {
	var queryCouponStatusCodeFieldSet = new Ext.form.FieldSet({
				id : 'queryCouponStatusCodeFieldSet',
				title : '查询条件',
				collapsible : true,// 可折叠
				buttonAlign : 'center',
				keys : [{
							key : 13, // 13代表回车
							fn : queryCouponStatusCode,
							scope : this
						}],
				items : [{
					layout : 'column',
					border : false,
					items : [{
					layout : 'column',
					border : false,
					items : [{
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											xtype : 'textfield',
											id : 'couponManagerStatus_couponCode',
											anchor : '100%',
											fieldLabel : "<span style='color:#F00'>*</span>优惠码",
											allowBlank : false,
											blankText : '优惠码不能为空',
											name : "couponCode"
										}]
							} , {
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
									layout : 'column',
									border : false,
									items : [{
												text : '查询',
												xtype : 'button',
												width : 70,
												handler : function() {
													queryCouponStatusCode();
												},
												style : {
													marginLeft : "100px",
													marginRight : "10px"
												}
											}, {
												text : '重置',
												xtype : 'button',
												width : 70,
												handler : function() {
													queryCouponStatusCodeForm
															.getForm().reset();
												}
											}]
								}]
							}]
				}]
				}]
			});
	fieldSetListeners(['queryCouponStatusCodeFieldSet', 'queryCouponStatusCodeForm',
					'couponStatusCodeManagerGrid'], [0.12, 0.88]);

	var queryCouponStatusCodeForm = new Ext.form.FormPanel({
				id : 'queryCouponStatusCodeForm',
				anchor : '100% 12%',
				frame : true,
				labelAlign : 'right',
				bodyBorder : false,
				items : [queryCouponStatusCodeFieldSet]
			});
	return queryCouponStatusCodeForm;
};

/**
 * grids
 */
var couponStatusCodeManagerGrid = function() {
	var couponStatusCodeManagerSm = new Ext.grid.CheckboxSelectionModel();// 创建选择模式对象
	var couponStatusCodeManagerCm = new Ext.grid.ColumnModel([couponStatusCodeManagerSm,
			new Ext.grid.RowNumberer(), {
				dataIndex : "id",
				header : "优惠码编号",
				sortable : true,
				width : 70
			}, {
				dataIndex : "couponCodeName",
				header : "优惠码名称",
				sortable : true,
				width : 120,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="优惠码名称:" ext:qtip="' + value
								+ '"';
						return value;
					}
				}
			}, {
				dataIndex : "couponCode",
				header : "优惠码",
				sortable : true,
				width : 90,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="优惠码:" ext:qtip="' + value
								+ '"';
						return value;
					}
				}
			}, {
				dataIndex : "ruleGroupName",
				header : "规则组",
				sortable : true,
				width : 120,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="规则组:" ext:qtip="' + value
								+ '"';
						return value;
					}
				}
			}, {
				dataIndex : "couponBeginDate",
				header : "有效开始时间",
				sortable : true,
				width : 90,
				renderer : function(date) {
					return Ext.util.Format.substr(date, 0, 10);
				}
			}, {
				dataIndex : "couponEndDate",
				header : "有效结束时间",
				sortable : true,
				width : 90,
				renderer : function(date) {
					return Ext.util.Format.substr(date, 0, 10);
				}
			}, {
				dataIndex : "isSingleUser",
				header : "是否单次使用",
				sortable : true,
				width : 80,
				renderer : function(value) {
					return PmsUtil.IsSingleUser(value);
				}
			}, {
				dataIndex : "couponType",
				header : "优惠码类型",
				sortable : true,
				width : 80,
				renderer : function(value) {
					return PmsUtil.isCouponType(value);
				}
			}, {
				dataIndex : "couponStatus",
				header : "优惠码状态",
				sortable : true,
				width : 70,
				renderer : function(value) {
					return PmsUtil.CouponStatus(value);
				}
			}, {
				dataIndex : "isEnable",
				header : "是否可用",
				sortable : true,
				width : 70,
				renderer : function(value) {
					return PmsUtil.FixingIsEnable(value);
				}
			}, {
				dataIndex : "salesName",
				header : "销售人员",
				sortable : true,
				width : 80
			}, {
				dataIndex : "createdDate",
				header : "创建时间",
				sortable : true,
				width : 130
			}, {
				dataIndex : "createdName",
				header : "创建人",
				sortable : true,
				width : 60
			}, {
				dataIndex : "updatedDate",
				header : "修改时间",
				sortable : true,
				width : 130
			}, {
				dataIndex : "updatedName",
				header : "修改人",
				sortable : true,
				width : 60
			}]);

	// 定义分析器
	var couponStatusCodeManagerGrid = new Ext.data.JsonReader({
				totalProperty : "totalCount",
				root : "list",
				fields : [{
							name : "id"
						}, {
							name : "ruleGroupId"
						}, {
							name : "ruleGroupName"
						}, {
							name : "couponCodeName"
						}, {
							name : "couponBeginDate"
						}, {
							name : "couponEndDate"
						}, {
							name : "enjoyOtherActivtity"
						}, {
							name : "isSingleUser"
						}, {
							name : "couponStatus"
						}, {
							name : "isEnable"
						}, {
							name : "couponType"
						}, {
							name : "createdDate"
						}, {
							name : "createdName"
						}, {
							name : "updatedDate"
						}, {
							name : "updatedName"
						}, {
							name : "couponCode"
						}, {
							name : "salesName"
						}]
			});

	// 取数据store
	var couponStatusCodeViewStore = new Ext.data.Store({
				//autoLoad : true,// 要加载数据必须设置为true
				proxy : new Ext.data.HttpProxy({
							url : __ctxPath + "/couponManager/selectCouponStatus"
						}),
				remoteSort : false,
				baseParams : {
					start : 0,
					limit : 25
				},
				listeners : {
					beforeload : {
						fn : function(thiz, options) {
							Ext.apply(thiz.baseParams, Ext
											.getCmp('queryCouponStatusCodeForm')
											.getForm().getValues());
						}
					}
				},
				reader : couponStatusCodeManagerGrid
			});

	// 定义grid的toolbar
	var couponStatusCodeTb = new Ext.Toolbar({
				height : 25,
				items : []
			});
	couponStatusCodeTb.add(new Ext.scm.Button({
				text : "刷 新",
				iconCls : "btn-refresh",
				width : 80,
				hsValue : 'couponStatusManager_刷新',
				pressed : true,
				handler : function() {
					queryCouponStatusCode();
				}
			}));

	var couponStatusCodeManagerGrid = new Ext.grid.GridPanel({
				id : 'couponStatusCodeManagerGrid',
				store : couponStatusCodeViewStore,
				cm : couponStatusCodeManagerCm,
				sm : couponStatusCodeManagerSm,
				autoScroll : true,
				loadMask : true,
				stripeRows : true,
				columnLines : true,
				loadMask : {
					msg : "正在加载数据，请稍侯……"
				},
				viewConfig : {
					emptyText : '没有您想要的数据!'
				},
				anchor : '100% 88%',
				frame : true,
				tbar : couponStatusCodeTb,
				bbar : new PG.PagingBar({
							id : 'CouponStatusCodeGridPage',
							store : couponStatusCodeViewStore,
							isShowTwoHunder : true
						})
			});
	return couponStatusCodeManagerGrid;
};

// 查询
function queryCouponStatusCode() {
	if (Ext.getCmp('queryCouponStatusCodeForm').getForm().isValid()) {
		var grid = Ext.getCmp('couponStatusCodeManagerGrid');
		var store = grid.store;
		var pagesize = Ext.getCmp('CouponStatusCodeGridPage').pageSize;
		store.load({
					params : {
						start : 0,
						limit : pagesize
					}
				});
	}
}

Ext.getCmp("centerTabPanel").getActiveTab().add(queryCouponStatusCodeSearch(),
		couponStatusCodeManagerGrid());
Ext.getCmp("centerTabPanel").getActiveTab().doLayout();
